home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Programming / LEDA / prog / dict / h_array.c < prev    next >
C/C++ Source or Header  |  1994-08-05  |  1KB  |  43 lines

  1. #include <LEDA/h_array.h>
  2. #include <LEDA/d_array.h>
  3. #include <LEDA/dph_array.h>
  4.  
  5. main()
  6.   int N0[10000];
  7.   for(int i=0; i<1000; i++) N0[i] = 0;
  8.  
  9.   h_array<int,int>   N1(0);
  10.   d_array<int,int>   N2(0);
  11.   dph_array<int,int> N3(0);
  12.  
  13.   int n = read_int("n = ");
  14.  
  15.   int* A = new int[n];
  16.  
  17.   init_random(1234*n);
  18.   for(i=0; i<n; i++)  A[i] = random(1,9999);
  19.  
  20.   float T = used_time();
  21.   for(i=0; i<n; i++)  N0[A[i]]++;
  22.   cout << string("c++ array: %.2f sec",used_time(T)) << endl; 
  23.  
  24.   T = used_time();
  25.   for(i=0; i<n; i++)  N1[A[i]]++;
  26.   cout << string("h_array:   %.2f sec",used_time(T)) << endl; 
  27.  
  28.   for(i=0; i<n; i++)  N2[A[i]]++;
  29.   cout << string("d_array:   %.2f sec",used_time(T)) << endl; 
  30.  
  31.   for(i=0; i<n; i++)  N3[A[i]]++;
  32.   cout << string("dph_array: %.2f sec",used_time(T)) << endl; 
  33.  
  34.   for(i=1; i<1000; i++)
  35.     if (N1[i] != N0[i] || N2[i] != N0[i] || N3[i] != N0[i]) 
  36.       cout << string("%d: N0= %d  N1= %d  N2= %d  N3= %d",
  37.                       i,N0[i],N1[i],N2[i],N3[i]) << endl;
  38.  
  39.   return 0;
  40. }
  41.  
  42.